de.cebis.moccabox.application.standard
Class StandardTaskController

java.lang.Object
  extended by de.cebis.moccabox.application.standard.StandardTaskController
All Implemented Interfaces:
ITaskController

public class StandardTaskController
extends java.lang.Object
implements ITaskController

Der StandardTaskController ist die zentrale Komponente der VO-Schicht. Er ist gleichzeitig die Schnittstelle zur IO-Schicht, weil von dieser die Methode handleCommand() aufgerufen wird, um ein empfangenes Kommando zu übergeben. Er wird über Spring instantiiert und in der moccabox.xml definiert.

Der StandardTaskController empfängt das Kommando, welches in der IODefinition gekapselt ist, und wertet es anschließend aus. Er bestimmt den Workflow, das heißt, er interpretiert, wann ein Vorgang abgeschlossen ist und die Verantwortung an den aufrufenden Client zurückgegeben werden kann.

Der StandardTaskController basiert auf einem IRepository, das die Informationen über die Anwendung enthält. Über dieses Repository wird bestimmt, welches VO (IBusinessTask) das übergebene Kommando ausführt und an wen die Verantwortung nach Durchführung des VO übergeben wird. Ebenso wird das Ergebnis der VO-Durchführung für die IO-Schicht entsprechend aufbereitet, das heißt der ModelNode wird erzeugt.

 <bean id="CONTROLLER.TARGET" class="de.cebis.moccabox.application.standard.StandardTaskController">
  <property name="repository"><ref bean="REPOSITORY"/></property>
  <property name="taskContextManager"><ref bean="CONTEXT.MANAGER"/></property>
  <property name="modelNodeBuilder"><ref bean="MODELNODEBUILDER.STANDARD"/></property>  
 </bean>

Author:
weichelt

Constructor Summary
StandardTaskController()
           
 
Method Summary
protected  IODefinition generateResponse(IODefinition ioDefinition, ITaskContext tContext)
          Spezifizieren eines ModelNode, der das Ergebnis der Durchführung des Vorgangs repräsentiert.
 IRepository getRepository()
          Zurückgeben des IRepository, das die Informationen über die Anwendung und die Vorgangsobjekte enthält.
 ITaskContextManager getTaskContextManager()
          Zurückgeben des korrespondierenden ITaskContextManager.
 IODefinition handleCommand(IODefinition ioDefinition)
          Behandelt das Kommando, das von der IO-Schicht übergeben wird.
 void setModelNodeBuilder(IModelNodeBuilder modelNodeBuilder)
          Setzen des IModelNodeBuilder, der über die moccabox.xml parametrisiert wird (s.o.).
 void setRepository(IRepository moccaBoxRepository)
          Setzen des IRepository, das die Metadaten über die Anwendung enthält.
 void setTaskContextManager(ITaskContextManager contextManager)
          Setzen des ITaskContextManager, der für die Koordination des ITaskContext zuständig ist, in dem die IBusinessTask- Objekte ausgeführt werden.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardTaskController

public StandardTaskController()
Method Detail

handleCommand

public IODefinition handleCommand(IODefinition ioDefinition)
                           throws InvalidCommandException,
                                  BusinessTaskPerformanceException
Behandelt das Kommando, das von der IO-Schicht übergeben wird. Der ITaskController veranlasst die Durchführung des Vorgangs durch ein VO, das er entsprechend auswählt.

Specified by:
handleCommand in interface ITaskController
Parameters:
ioDefinition - Informationen über den Nutzer sowie den aktuellen Aufruf.
Returns:
Die IODefinition mit dem Ergebnis der Vorgangsdurchführung.
Throws:
InvalidCommandException - Ungültiges Kommando wurde übergeben und kann nicht ausgeführt werden.
BusinessTaskPerformanceException - Ausnahme beim Ausführen des IBusinessTask.

setModelNodeBuilder

public void setModelNodeBuilder(IModelNodeBuilder modelNodeBuilder)
Setzen des IModelNodeBuilder, der über die moccabox.xml parametrisiert wird (s.o.).

Parameters:
modelNodeBuilder - Der zu verwendende IModelNodeBuilder

getRepository

public IRepository getRepository()
Zurückgeben des IRepository, das die Informationen über die Anwendung und die Vorgangsobjekte enthält.

Returns:
Repository der Metadaten über die Anwendung.

setRepository

public void setRepository(IRepository moccaBoxRepository)
Setzen des IRepository, das die Metadaten über die Anwendung enthält.

Parameters:
moccaBoxRepository - Repository der Metadaten über die Anwendung.

setTaskContextManager

public void setTaskContextManager(ITaskContextManager contextManager)
Setzen des ITaskContextManager, der für die Koordination des ITaskContext zuständig ist, in dem die IBusinessTask- Objekte ausgeführt werden.

Parameters:
contextManager - Verwaltungskomponente zur Koordination des ITaskContext.

getTaskContextManager

public ITaskContextManager getTaskContextManager()
Zurückgeben des korrespondierenden ITaskContextManager.

Returns:
Verwaltungskomponente zur Koordination des ITaskContext.

generateResponse

protected IODefinition generateResponse(IODefinition ioDefinition,
                                        ITaskContext tContext)
                                 throws BusinessTaskPerformanceException
Spezifizieren eines ModelNode, der das Ergebnis der Durchführung des Vorgangs repräsentiert.

Parameters:
tContext - Der aktuelle ITaskContext, in dem der Vorgang (IBusinessTask) ausgeführt wurde.
ioDefinition - Informationen über den Nutzer sowie den aktuellen Aufruf.
Returns:
Die IODefinition mit dem Ergebnis der Vorgangsdurchführung.
Throws:
BusinessTaskPerformanceException - Ausnahme beim Ausführen des IBusinessTask.